inspector: Make picking work again
authorMatthias Clasen <mclasen@redhat.com>
Sat, 21 Mar 2020 13:42:58 +0000 (09:42 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 21 Mar 2020 13:42:58 +0000 (09:42 -0400)
We used to either make the inspector see- and click-thru
or lower it, but sadly translucency broke after we
removed surface opacity, and lowering doesn't work
on Wayland. So just hide the inspector window while
we are picking.

Fixes: #2528
gtk/inspector/inspect-button.c

index 6a885550521271929f35ca1cad434d7d5d125f26..64c198f2dc8bd2f9ac68c5af441e54fdcaf5f8cd 100644 (file)
@@ -99,9 +99,7 @@ on_inspect_widget (GtkInspectorWindow *iw,
 {
   GtkWidget *widget;
 
-#if 0
-  gdk_surface_raise (gtk_native_get_surface (GTK_NATIVE (iw)));
-#endif
+  gtk_window_present (GTK_WINDOW (iw));
 
   clear_flash (iw);
 
@@ -114,20 +112,7 @@ on_inspect_widget (GtkInspectorWindow *iw,
 static void
 reemphasize_window (GtkWidget *window)
 {
-  GdkDisplay *display;
-
-  display = gtk_widget_get_display (window);
-  if (gdk_display_is_composited (display))
-    {
-      GtkInspectorWindow *iw = GTK_INSPECTOR_WINDOW (window);
-
-      gtk_widget_set_opacity (window, 1.0);
-      gtk_window_set_extra_input_region (GTK_WINDOW (iw), NULL);
-    }
-#if 0
-  else
-    gdk_surface_raise (gtk_native_get_surface (GTK_NATIVE (window)));
-#endif
+  gtk_window_present (GTK_WINDOW (window));
 }
 
 static gboolean handle_event (GtkInspectorWindow *iw, GdkEvent *event);
@@ -196,24 +181,7 @@ void
 gtk_inspector_on_inspect (GtkWidget          *button,
                           GtkInspectorWindow *iw)
 {
-  GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (iw));
-
-  /* de-emphasize window */
-  if (gdk_display_is_composited (display))
-    {
-      cairo_rectangle_int_t rect;
-      cairo_region_t *region;
-
-      gtk_widget_set_opacity (GTK_WIDGET (iw), 0.3);
-      rect.x = rect.y = rect.width = rect.height = 0;
-      region = cairo_region_create_rectangle (&rect);
-      gtk_window_set_extra_input_region (GTK_WINDOW (iw), region);
-      cairo_region_destroy (region);
-    }
-#if 0
-  else
-    gdk_surface_lower (gtk_native_get_surface (GTK_NATIVE (iw)));
-#endif
+  gtk_widget_hide (GTK_WIDGET (iw));
 
   g_signal_connect (iw, "event", G_CALLBACK (handle_event), NULL);
 }